package cn.xiaopengstack.domain.credit.model.aggregate;

import cn.xiaopengstack.domain.credit.even.CreateAdjustSuccessEvent;
import cn.xiaopengstack.domain.credit.model.entity.CreditAccountEntity;
import cn.xiaopengstack.domain.credit.model.entity.CreditOrderEntity;
import cn.xiaopengstack.domain.task.model.TaskEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author jiangyangang
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeCreditAggregate implements Serializable {
    /**
     * 用户ID
     */
    private String userId;

    /**
     * 积分订单实体
     */
    private CreditOrderEntity creditOrderEntity;

    /**
     * 积分账户实体
     */
    private CreditAccountEntity creditAccountEntity;

    /**
     * MQ补充任务
     */
    private TaskEntity taskEntity;

    /**
     * MQ事件
     */
    private CreateAdjustSuccessEvent<CreateAdjustSuccessEvent.CreateAdjustSuccessEventMessage> event;
}
